1. Field of the Invention
The present invention relates to computer networking technology and in particular to communication devices such as Repeaters for interconnecting network devices in such networks.
2. The Prior Art
A Repeater is a very important component of computer networks such as local area networks as it provides the medium through which other devices can communicate with each other. In particular, a Repeater is provided with a number of communications ports and in the simplest configuration an end station, such as a computer is attached to each of the ports. A repeater functions such that any communication which is received on one port is retransmitted on all of the other ports, so that a communication sent out by any one device attached to the network is received by all of the others. In principle, the retransmission by a Repeater of a communication should be simultaneous with its reception at the receiving port. In this ideal situation, it will therefore be understood that a common communications medium is provided between all of the computers attached to the network via which communications can be sent between any of the devices. However, it is of course the case that, owing to the physical characteristics of the construction of the Repeater, the retransmission of a received communication is not instantaneous and the speed at which data can be passed through a Repeater has effects on the operation of the network as will be explained in the following.
One very common type of communications protocol in such networks is a carrier sense multiple access protocol of which Ethernet is a well known example. In such a protocol communications between computers attached to the network are by way of data packets having a pre defined format. Whenever a network user wishes to transmit a communications packet it simply attempts to access the communications medium provided by the Repeater or interconnected Repeaters and transmits the packet. The repeating function of the Repeater device mentioned above means that the communication packet reaches all of the other users on the network including the intended destination. In the event that another user is attempting to transmit a packet at the same time, the two or more transmitting units sense that a collision has occurred on the network and therefore that the transmitted data packet will not have been successfully received. In order for the collision to be sensed and properly acted upon, the collision must be sensed by the transmitting station before it has completed the transmission of a packet. If this occurs, the transmitting station will simply attempt, at the end of a predetermined period to retransmit the packet. If it completes transmission of the packet without receiving a collision detector signal, it will assume that the transmission was successful.
The above mentioned physical characteristics of the Repeater device have an impact on the operation of such protocol for the following reasons. In order for a collision to be properly sensed by a transmitting station, the transmitted packet must be received by the Repeaters and repeated to all segments of the network quickly enough so that if a collision occurs on any one of the network segments this can be relayed back, via the Repeaters, to the transmitting station before the end of the transmission of the packet in order that the collision can be properly sensed. It has been known that computer networks such as local area networks operating the Ethernet protocol can handle communications at 10 megabits per second (Mbps) for some while and it has been relatively easy to implement Repeaters for such network speeds which propagate data quickly enough so that up to approximately five Repeaters could be connected together and still obtain satisfactory network performance.
More recently there have been new standards set to increase the speed of communication over local area networks. In particular standards have been set defining network communication speeds of 100 Mbps. With communications occurring at such increased speeds, it clearly takes less time for a transmitting station to complete the transmission of a packet. It is therefore necessary that the packet should be more quickly repeated to all of the network segments in order that any collisions can be detected and returned to the transmitting station before the completion of the transmission of the packet.
One standard for Repeaters which has been defined for 100 Mbps networks is the Class I Repeater. With a Class I Repeater it is not permitted to connect two Repeaters together and so it is essentially necessary that each port on a Class I Repeater is directly connected to an end station or to a bridge or switch, which are other well known types of communications hub.
There is also more recently defined a standard of a Class II Repeater according to which standard, two Class II Repeaters may be connected together in the configuration of a network. With such a configuration it is of course the case that a transmitted packet must be propagated through two Repeaters to enable it to reach all of the network segments. To achieve this within the time constraints for detecting collisions as explained above, a Class II 100 Mbps Repeater must propagate received data to its other ports significantly quicker than Class I Repeaters.
Also, for 100 Mbps Repeaters, the communication standards do not allow any alterations in the lengths of the preambles to the data packets passing through the network. Therefore, as well as re-transmitting the packets quickly, a Class II Repeater must take considerable care to ensure that the whole of any received data packet, including the preamble, is accounted for and properly handled.
These constraints place considerable strain on the design of a Class II 100 Mbps Repeater. The implications of this are discussed further below.
Within a Repeater device, there is of course a certain architecture of the various parts of the Repeater to enable the ports to be connected to the Repeater core which will be on ASIC or other chip. In particular, there is provided within a Repeater device a physical layer device (PHY) provided for each port and the PHYs are then connected to the Repeater core. In one configuration it has been known to connect all of the PHYs directly to the Repeater core in a star configuration but this entails a large number of connections to the core.
A preferred Repeater architecture provides a receive data bus to which each PHY device is connected and which has a single connection to the Repeater core. Such an arrangement involving a data bus is advantageous as it reduces the number of connections, and therefore physical pins, which must be made on the ASIC. This architecture is further explained, insofar as it is relevant to the present invention, with reference to FIG. 2 which shows the interconnections made between ASIC 1 and PHY devices 2 in order to enable the reception of data. A Repeater device would of course also include interconnections for the retransmission of the received data but the present invention is related principally to the receive side of a Repeater device and therefore the relevant portions of the receive side are shown.
As shown in FIG. 2, there is provided a bus 10 to which all of the PHY devices 2 may put their received data (RXD) in order that the received data can be received at ASIC 1. There is of course present some bus control arrangements such that only one PHY device at a time is accessing the bus 10 and this will be outlined in the following, also with reference to the timing diagram of FIG. 3.
FIG. 3b illustrates the start of a received data packet and in particular is illustrated according to the known defined 100 Mbps protocol. The communications packet begins with a predetermined sequence of symbols (in particular J, K followed by a plurality of 5s) which are present to enable functions such as synchronising with the packet to be done before the information bearing portion of the packet arrives, and other known functions. Shortly before the arrival of the beginning of the data packet, the imminent arrival is sensed by the PHY device 2 and the device asserts its carrier sense signal (CRS) as illustrated in FIG. 3a. In a response to this, and if it is appropriate to do so, ASIC 1 permits access to the data bus by the PHY device in question by asserting the corresponding receive enable (RXEN) signal. The corresponding PHY device 2 then has access to data bus 10 in order to write the received data to the bus.
Another signal generated by PHY device 2 on reception of a data packet which is important for the proper reception of the data is the receive data valid (RXDV) signal and this signal is asserted by PHY device 2 in synchronism with the beginning of the communications packet, as illustrated in FIG. 3c. In order for the data to be properly received by ASIC 1 it is therefore necessary that the PHY device 2 which is receiving a data packet should receive the RXEN signal to authorise its access to the bus before the beginning of the data packet and the time at which it should assert RXDV. This time interval is designated t1 is FIG. 3.
At the lowest speeds at which previous Repeaters were permitted to work, time interval t1 was sufficiently long to allow this to occur.
However, in the context of Class II Repeaters as mentioned above, the speed of reception of the data by the PHY device must be high in order to meet the overall timing requirements and therefore data needs to be put onto data bus 10 very quickly upon its reception. The problem with this is that there is insufficient time for ASIC 1 to receive and respond to the carrier sense signal and to return the appropriate RXEN signal before the time at which the PHY device 2 is ready to put the beginning of the packet onto data bus 10 and to assert its RXDV signal. Therefore, either the PHY device 2 must delay the transmission of the data to the data bus 10, which is not acceptable in the context of a Class II Repeater, or an unknown amount of the preamble of the receive data packet would be lost due to the bite assertion of RXDV, which loss is not allowed in 100 Mbps networks. In particular, to avoid these problems, the RXEN signal would have to be asserted by ASIC 1 within 20 ns of receiving the carrier sense signal and this is very difficult if not impossible to achieve.
The present invention provides a communication device for a computer network comprising:
a plurality of ports arranged to receive and transmit communications in the form of data packets from and to the network;
communication core means arranged to receive communications received at said ports and to implement a desired functionality for re-transmission of said communications via said ports;
data transfer means arranged to carry communications received at said ports to said communication core means;
receive means associated with each of said ports arranged to send received data packets to said data bus means without a predetermined portion from the beginning of the data packets; and
transmit means associated with each said port arranged to receive data packets for transmission from said communication core means and to replace said predetermined portion at the beginning of the data packet for transmission from the respective port.
In particular, the present invention provides a Repeater for use in computer networks of the general type discussed above, in which the PHY device associated with each port, on reception of a communications packet for retransmission to the other ports, delays the assertion of its RXDV signal to a predetermined time within the preamble to the received packet and transmits all of the symbols subsequent to this predetermined time to the Repeater core.
It will be appreciated that, in the above bus-type arrangement, more time is permitted for the ASIC to provide the RXEN signal as it is necessary only to assert the RXEN signal prior to the RXDV assertion by the PHY device. The portion of the packet prior to the assertion of RXDV is therefore lost on reception of the packet by the PHY device but, as the beginning of all the communications packets would be the same, or in any event the actual bits in the beginning of the packet are not data carrying, the missing portion is replaced by other PHY devices within the overall Repeater device on retransmission of the packet to the remainder of the network. Therefore a complete packet appears to be transmitted through the Repeater device in accordance with the required standards, but a faster operation can be achieved.
In the preferred embodiment, it is the first two symbols of the communications packet preamble which are not transmitted through the Repeater.
Although particularly advantageous in Repeater devices as discussed above, this invention generally accelerates the reception and handling of data packets by network devices and therefore is also applicable to other network devices such as bridges and switches.
The invention therefore takes advantage of the fact, that in communication protocols such as Ethernet, no important data is contained in the first portion of a communications packet, this portion of the packet being generally a non-data carrying preamble to assist in sensing and synchronising with the packet.
The removal of a predetermined number of bits from the beginning of the packet by the physical layer device on reception of the packet allows more time for the Repeater to enable access to the Repeater core and get the remainder of the communications packet to the other physical layer devices for retransmission whilst still enabling the fast transmission times necessary to meet requirements of fast operating networks, and preserving the correct length of preamble as required by the 100 Mbps Ethernet standard as mentioned above. For this, it is the case that, in the invention, the preamble is completed by a physical layer device on retransmission of the packet so as to conform to network protocols.